Monografias.com > Uncategorized
Descargar Imprimir Comentar Ver trabajos relacionados

El sistema de entrada-salida (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

13
Controladores de entrada/salida
El principal objetivo de un controlador de E/S es establecer una abstracción
Simplificar la visión que el computador tiene de los periféricos
Ocultar detalles físicos, de formato, de temporización…
Procesador
control
dirección
dato
Memoria
controlador E/S
controlador E/S
periférico
periférico

Monografias.com

14
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

15
Funciones de un controlador
Control y temporización: coordinar el tráfico entre los recursos internos y los dispositivos externos
procesador
periférico
controlador
solicitud
solicitud
reconocimiento
reconocimiento
reconocimiento
reconocimiento
dato
dato
Ejemplo: transferencia de datos de un dispositivo al procesador

Monografias.com

16
Funciones de un controlador
Almacenamiento temporal de datos: compensar la diferencia de velocidad en las transferencias
Si los datos llegan con demasiada rapidez se almacenan y se van procesando al ritmo adecuado
Si los datos llegan con demasiada lentitud se van almacenando y se procesan cuando hay suficientes

Detección de errores
Defectos mecánicos o eléctricos
Errores de transmisión

Monografias.com

17
Funciones de un controlador
Comunicación con el procesador
Decodificar órdenes provenientes del procesador
Intercambiar datos
Comunicar información de estado y condiciones de error
Reconocimiento de una dirección como correspondiente a uno de los periféricos bajo control

Comunicación con el dispositivo: intercambio de señales de control, estado y datos

Monografias.com

18
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

19
Interconexión con los controladores
Desde el punto de vista del procesador, la entrada/salida funciona igual que la memoria
Operaciones de lectura
Operaciones de escritura

Un controlador de E/S tiene dos interfaces
Con el procesador y la memoria
Con los periféricos

Monografias.com

20
Interconexión con los controladores
Las conexiones entre el procesador, la memoria y los controladores E/S reciben usualmente el nombre de bus
Líneas de control
Líneas de dirección
Líneas de datos

Monografias.com

21
Estructura de un controlador de E/S
Registro de datos
Almacena los datos que se envían/reciben

Monografias.com

22
Estructura de un controlador de E/S
Registro de estado
Proporciona información del estado actual
Puede funcionar como un registro de control para almacenar la información de control transmitida por el procesador

Monografias.com

23
Estructura de un controlador de E/S
Lógica de entrada/salida
Interactúa con el procesador por medio de líneas de control por las que recibe órdenes del procesador pero que también puede usar para solicitar recursos (acceso al bus…)
Reconoce y genera los identificadores asociados con cada dispositivo que controla

Monografias.com

24
Estructura de un controlador de E/S
Lógica específica de interfaz con cada dispositivo gestionado

Monografias.com

25
Estructura de un periférico
Lógica de control: maneja el periférico en función de las indicaciones del controlador de E/S

Monografias.com

26
Estructura de un periférico
Transductor: convierte señales digitales a otra forma de energía (salida) o viceversa (entrada)
Un buffer permite el almacenamiento temporal de las señales
Hay gran variedad de interfaces entre el periférico y el exterior (teclado, monitor, ratón…)

Monografias.com

27
Interfaz controlador de E/S – periférico
La interfaz puede ser serie o paralela
Serie: solo hay una línea de conexión, los bits se transmiten de uno en uno
Paralela: hay varias líneas de conexión, lo que permite transmitir varios bits de forma simultánea
Tradicionalmente se asocian las interfaces paralelas con dispositivos de alta velocidad (cinta, disco…) y las interfaces serie con dispositivos más lentos (impresoras, terminales…)
Hoy en día, las interfaces serie de alta velocidad hacen que las paralelas sean cada vez menos frecuentes

Monografias.com

28
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

29
Técnicas para las operaciones de E/S
E/S programada
Los datos se intercambian entre el procesador y el controlador
El procesador envía una orden y espera a que la operación termine ejecutando un programa que controla la operación (lectura, escritura, comprobación de estado…)

Monografias.com

30
Técnicas para las operaciones de E/S
Desventajas de la E/S programada
Consume tiempo: el procesador debe dedicar parte de su tiempo a gestionar las operaciones de E/S
Mantiene al procesador innecesariamente ocupado: si el procesador es más rápido se verá obligado a comprobar el estado del controlador una y otra vez hasta que la operación finaliza
Velocidad limitada: la velocidad de transferencia está limitada por la velocidad a la que el procesador puede atender al controlador

Monografias.com

31
Técnicas para las operaciones de E/S
E/S mediante interrupciones
El procesador da la orden y sigue ejecutando otras instrucciones hasta que el controlador de E/S le interrumpe para comunicarle que la operación ha concluido
Es más eficiente porque elimina esperas innecesarias, pero los datos siguen pasando a través del procesador
Consume tiempo
Limita velocidad

Monografias.com

32
Técnicas para las operaciones de E/S
Acceso directo a memoria (DMA – Direct Memory Access)
La memoria y el controlador de E/S intercambian datos directamente sin intervención del procesador
El procesador da la orden y sigue ejecutando otras instrucciones hasta que el controlador de E/S le interrumpe para comunicarle que la operación ha concluido, pero los datos no pasan a través de él

Monografias.com

33
Técnicas para las operaciones de E/S
La E/S programada puede resultar más rápida para pequeñas cantidades de datos, pero el procesador no podrá hacer nada más

La E/S mediante interrupciones libera el procesador para que haga otras tareas, pero la transferencia será más lenta

DMA es la técnica más eficiente cuando se trata de transmitir grandes volúmenes de información

Monografias.com

34
Técnicas para las operaciones de E/S
Ejemplo: lectura de datos (transferencia E/S ? memoria)

Monografias.com

35
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

36
E/S programada
Al encontrar una instrucción E/S, el procesador genera:
El identificador del controlador y el periférico
Una orden de E/S

La orden de E/S es enviada al controlador

El controlador realiza la operación y ajusta el valor del registro de estado, pero no avisa al procesador

El procesador debe controlar periódicamente el estado del controlador hasta que comprueba que la operación ha finalizado

Monografias.com

37
Órdenes de E/S
Hay cuatro tipos de órdenes de E/S
Control: son específicas de cada tipo particular de periférico (activar periférico, indicarle que hacer…)
Test: comprueban condiciones de estado (¿conectado?, ¿disponible?, ¿operación terminada?, ¿error?…)
Lectura
El controlador lee un dato del periférico y lo almacena internamente
El procesador podrá obtener el dato pidiendo al controlador que lo ponga en el bus
Escritura
El controlador toma un dato del bus
El dato es transmitido al periférico

Monografias.com

38
Direccionamiento de los periféricos
Las instrucciones de E/S suelen tener una correspondencia directa 1-1 con las órdenes de E/S

El formato de las instrucciones de E/S depende de la forma de direccionamiento de los dispositivos, pues deben contener la dirección adecuada

Si el procesador, la memoria y la E/S comparten un bus se pueden usar dos modos de direccionamiento
E/S asignada en memoria
E/S aislada de memoria

Monografias.com

39
E/S asignada en memoria
Existe un único espacio de direcciones para posiciones de memoria y dispositivos de E/S

Los registros de estado y de datos de los controladores son vistos por el procesador como posiciones de memoria y accede a ellos como si lo fueran

Sólo existe una línea de lectura y una línea de escritura
Por ejemplo, con 10 líneas de dirección tendríamos un total de 210 = 1024 posiciones de memoria y E/S

Monografias.com

40
E/S aislada de memoria
Existen líneas de lectura/escritura en memoria y otras separadas para las órdenes de E/S
Por ejemplo, con 10 líneas para memoria y otras 10 líneas de dirección para E/S tendríamos 210 = 1024 posiciones de memoria y otras tantas de E/S

Las instrucciones deben especificar si se refieren a una posición de memoria o a un dispositivo de E/S

Monografias.com

41
E/S asignada vs. aislada
E/S asignada en memoria
La programación es más eficiente porque existe una gran variedad de instrucciones de lectura/escritura en memoria
La desventaja es que hay que compartir el valioso espacio de direcciones de memoria

E/S aislada de memoria
Hay menos opciones de programación porque sólo se dispone de unas pocas instrucciones de E/S
No se comparte el espacio de direcciones

Ambas se utilizan frecuentemente hoy en día

Monografias.com

42
E/S asignada vs. aislada
Ejemplo de programa que realiza una operación de E/S (se asumen direcciones de 10 bits)

Monografias.com

43
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

44
E/S mediante interrupciones
Desde el punto de vista del controlador de E/S
El controlador recibe una orden del procesador
El controlador gestiona la operación con el periférico asociado
Una vez concluye la operación, el controlador envía una interrupción al procesador
El controlador espera a que el procesador actúe
Lectura: toma el dato
Escritura: comprueba el estado
El controlador queda preparado para la siguiente operación

Monografias.com

45
E/S mediante interrupciones
Desde el punto de vista del procesador
El procesador envía una orden al controlador y luego continúa ejecutando instrucciones
Del mismo programa si es posible paralelizar
De un programa distinto

Monografias.com

46
E/S mediante interrupciones
Desde el punto de vista del procesador
En cada ciclo de instrucción, el procesador comprueba el estado de las interrupciones
Una vez detectada, la interrupción es procesada

Monografias.com

47
Procesamiento de interrupciones
El procesamiento de una interrupción consiste en
Suspender la ejecución del programa y guardar su contexto
Carga la rutina de gestión de la interrupción
Puede haber una por interrupción o una por interrupción y dispositivo
Puede haber más de una adecuada
La interrupción puede haber indicado cual era la adecuada
Puede ser necesario interrogar al dispositivo al respecto
Ejecutar la rutina de gestión de la interrupción, lo que puede implicar comunicarse de nuevo con el dispositivo
Recuperar el contexto del programa anterior (u otro distinto)

Monografias.com

48
Procesamiento de interrupciones
Procedimiento de interrupción simplificado PC = Program Counter PSW = Program Status Word

Monografias.com

49
Procesamiento de interrupciones
El contexto de un programa se almacena en la pila del sistema

Monografias.com

50
Procesamiento de interrupciones
Es posible que se produzca una interrupción mientras se está procesando otra

Para tratar con estos casos hay dos alternativas
Deshabilitar interrupciones
Establecer prioridades

Monografias.com

51
Deshabilitar interrupciones
Mientras se está tratando una interrupción se ignora cualquier interrupción que llegue posteriormente
Las interrupciones posteriores quedan pendientes y se procesarán cuando acabe la actual
Las interrupciones son tratadas en un orden estrictamente secuencial, pero no se tienen en cuenta la prioridad relativa o las operaciones en tiempo crítico

Monografias.com

52
Interrupciones con prioridades
Se permite que una interrupción de mayor prioridad interrumpa al gestor de una interrupción de menor prioridad

Monografias.com

53
¿Quién interrumpe?
La presencia de múltiples controladores implica que es necesario establecer una estrategia para que el procesador sepa quien generó una interrupción

Múltiples líneas de interrupción
Se podrían tener varias líneas de interrupción entre el procesador y los controladores
No resulta práctico tener sino unas pocas líneas
Incluso si hay varias líneas, tendrán que ser compartidas entre controladores distintos

Monografias.com

54
¿Quién interrumpe?
Consulta software (software poll)
Cuando se detecta una interrupción se salta a una rutina general de servicio de interrupción que consulta a cada controlador para determinar el responsable
Activar una señal de control para que el controlador responda
Direccionar el registro de estado de cada controlador
Una vez identificado el controlador se salta a una rutina específica de servicio de interrupción
El principal problema de esta técnica es que consume demasiado tiempo

Monografias.com

55
¿Quién interrumpe?
Conexión en cadena (daisy chain)
Todos los controladores comparte una línea común para solicitar interrupciones
La línea de reconocimiento de interrupciones se conecta encadenando los controladores uno tras otro
Cuando el procesador detecta una interrupción activa el reconocimiento, que se va propagando hasta el controlador correcto
El controlador responde poniendo en el bus un identificador (vector) que el procesador usa como puntero a la rutina de interrupción
De esta forma se evita ejecutar una rutina de servicio general primero pues la consulta es hardware (hardware poll)
Esta técnica también recibe el nombre de “interrupciones vectorizadas”

Monografias.com

56
¿Quién interrumpe?
Arbitraje de bus
Un controlador debe disponer del bus antes de poder activar una interrupción
Sólo un controlador puede interrumpir en cada momento
Cuando el procesador detecta la interrupción responde activando la línea de reconocimiento, con lo que el controlador coloca su vector en el bus (esta técnica también es vectorizada)

Monografias.com

57
¿Quién tiene prioridad?
Las técnicas anteriores proporcionan una forma de asignar prioridades a las interrupciones
Múltiples líneas de interrupción: el procesador elige la línea que tenga mayor prioridad
Consulta software: la prioridad viene determinada por el orden en el que se consultan los controladores
Conexión en cadena: la prioridad viene determinada por el orden en el que los controladores se conectan en la cadena
Arbitraje de bus: la prioridad en la asignación del bus determina la prioridad de las interrupciones

Monografias.com

58
Intel 82C59A
El controlador de interrupciones Intel 82C59A es un árbitro de interrupciones externo utilizado con el procesador 80386
El 80386 tiene una única línea de petición de interrupción: INTR (interrupt request)
El 80386 tiene una única línea de reconocimiento de interrupción: INTA (interrupt acknowledge)
La conexión con el 82C59A permite al procesador manejar cierta variedad de dispositivos y estructuras de prioridad

Monografias.com

59
Intel 82C59A
Este chip se encarga únicamente de la gestión de interrupciones
Acepta solicitudes de los controladores
Determina quién tiene la prioridad más alta
Activa INTR para indicárselo al procesador
El procesador activa INTA para reconocer la solicitud
El chip pone el vector apropiado en el bus
El procesador inicia el gestor de la interrupción y pasa a comunicarse directamente con el controlador a partir de ese momento

Monografias.com

60
Intel 82C59A
Un chip puede manejar hasta 8 controladores
Pueden conectarse varios chips en cascada para manejar hasta 64 controladores

Monografias.com

61
Intel 82C59A
El 82C59A es programable
El procesador determina el esquema de prioridad que se va a usar cargando una palabra de control en el chip
Completamente anidado: las solicitudes de interrupción se ordenan según el nivel de prioridad (de IR0 a IR7)
Rotatorio: hay varios dispositivos con igual prioridad pero, después de ser atendido, un dispositivo pasa a tener la menor prioridad del grupo
Con máscara especial: se permite que el procesador pueda inhibir selectivamente las interrupciones desde ciertos dispositivos

Monografias.com

62
Intel 82C55A
Mientras que el 82C59A era un árbitro de interrupciones externo, la interfaz programable de periféricos 82C55A es un verdadero controlador de E/S
Es un controlador de propósito general que puede usarse tanto para E/S programada como para E/S mediante interrupciones
Está integrado en un solo chip con 40 terminales
También se utiliza junto con el procesador 80386

Monografias.com

63
Intel 82C55A
La interfaz externa se compone de 24 líneas de E/S configurables mediante un registro de control
Tres buses de 8 bits (A, B y C)
Dos buses de 8 bits (A y B) y cuatro bits de señales de control y estado para cada uno (CA y CB)

Monografias.com

64
Intel 82C55A
La interfaz externa se compone de 24 líneas de E/S configurables mediante un registro de control
Cada puerto puede designarse como de entrada o salida
Las líneas C pueden usarse para sincronización mediante confirmación de señales o para petición de interrupciones

Monografias.com

65
Intel 82C55A
La interfaz interna se compone de
Un bus bidireccional de 8 bits (D) usado para transferir datos a/desde los puertos de E/S y al registro de control
Dos líneas de dirección (A0,A1) para especificar uno de los puertos de E/S o el registro de control

Monografias.com

66
Intel 82C55A
La interfaz interna se compone de
Una señal RESET para inicializar el controlador
Una señal CHIP SELECT que indicará el comienzo de una transferencia cuando se active junto con la señal READ o la señal WRITE

Monografias.com

67
Procesamiento de interrupciones
Ejemplo: controlar una terminal con teclado y pantalla

Monografias.com

68
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

69
Controlador de DMA
El controlador de DMA es un módulo capaz de recibir el control del bus del sistema (cedido por el procesador) para transferir datos a/desde memoria
Dos opciones de funcionamiento:
Utilizar el bus sólo cuando el procesador no lo necesita
Lo más común es forzar al procesador a que suspenda temporalmente el uso del bus (robo de un ciclo de bus)

Monografias.com

70
Controlador de DMA
Cuando el procesador desea leer/escribir un bloque de datos envía una orden al controlador de DMA incluyendo la siguiente información:
Indicación de si es lectura o escritura usando la línea de control apropiada
Dirección del dispositivo de E/S usando las líneas de datos

Monografias.com

71
Controlador de DMA
Cuando el procesador desea leer/escribir un bloque de datos envía una orden al controlador de DMA incluyendo la siguiente información:
Posición inicial de memoria a la que leer/escribir usando las líneas de datos y que será almacenada en el registro de direcciones
Número de palabras a leer/escribir usando las líneas de datos y que será almacenado en el registro de cuenta de datos

Monografias.com

72
Controlador de DMA
El controlador de DMA puede robarle el bus al procesador justo antes de que lo necesite
No es una interrupción: el procesador no guarda el contexto, tan solo espera un ciclo de bus
El procesador se ralentiza, pero para transmitir varias palabras es más eficiente que las otras dos técnicas
Cuando termina la transmisión, el controlador de DMA devuelve el control del bus al procesador

Monografias.com

73
Controlador de DMA
El procesador puede continuar con su trabajo después de enviar la orden al controlador de DMA pues, a todos los efectos, ha delegado en él la operación

El controlador de DMA se encarga de transferir el bloque completo de datos, palabra a palabra, directamente a/desde memoria (sin pasar por el procesador)

Cuando la operación concluye, el controlador envía una interrupción al procesador para comunicárselo

Monografias.com

74
Configuración del DMA
La configuración más económica es que todos los controladores compartan el bus del sistema
El controlador de DMA actuará como un procesador suplementario que usa E/S programada para transferir datos entre la memoria y un controlador de E/S
Es ineficiente porque cada dato consumirá dos ciclos de bus (E/S ?? DMA ?? Memoria)

Monografias.com

75
Configuración del DMA
Integrar las funciones de DMA y E/S reduciría el número de ciclos de bus necesarios
Existe un camino entre el controlador de DMA y uno o varios controladores de E/S que no pasa por el bus del sistema
El controlador de DMA puede ser un módulo separado que gestiona varios controladores de E/S o parte de uno de ellos
Cada dato consumirá un solo ciclo del bus del sistema (DMA ?? Memoria)

Monografias.com

76
Configuración del DMA
Se puede dar un paso más conectando los controladores de E/S a un controlador de DMA usando un bus de E/S
El controlador de DMA sólo tiene una interfaz con la E/S, dando lugar a una configuración fácilmente ampliable
De nuevo, cada dato consumirá un solo ciclo del bus del sistema (DMA ?? Memoria)

Monografias.com

77
Intel 8237A
El controlador de DMA Intel 8237A proporciona la interfaz necesaria para realizar el acceso directo a memoria en computadores basados en procesadores de la familia 80×86

Monografias.com

78
Intel 8237A
El 8237A es un controlador de DMA al vuelo (fly-by DMA) porque los datos no pasan nunca a través del propio controlador y no se almacenan en él
Puede controlar transferencias Memoria ?? E/S
No puede controlar transferencias E/S ?? E/S
Puede controlar transferencias Memoria ?? Memoria usando un registro temporal

En cualquier caso, mientras el controlador de DMA utiliza los buses, el procesador permanece ocioso (idle)

Monografias.com

79
Intel 8237A – Ejemplo de transferencia
Por ejemplo, supongamos que el controlador de DMA va a transferir un bloque de datos desde la memoria hasta el disco
El controlador de disco solicitará el DMA activando la señal DREQ (DMA Request)
El controlador DMA necesita usar los buses para la transferencia (datos, dirección y control), por lo que envía al procesador la señal HRQ (Hold Request); esta señal debe estar activa durante toda la transmisión
El procesador terminará el ciclo de bus en el que se encuentre, aunque no necesariamente terminará la ejecución de la instrucción

Monografias.com

80
Intel 8237A – Ejemplo de transferencia
Por ejemplo, supongamos que el controlador de DMA va a transferir un bloque de datos desde la memoria hasta el disco
El procesador responde al controlador de DMA activando la señal de reconocimiento HLDA (Hold Acknowledge) para indicarle que puede usar los buses
El controlador de DMA activará la señal DACK (DMA Acknowledge) para indicar al periférico que comienza la transmisión
Se realiza la transmisión de datos
Una vez finalizado el proceso, el controlador de DMA desactiva la señal HRQ para indicarle al procesador que puede volver a hacer uso de los buses

Monografias.com

81
Intel 8237A – Ejemplo de transferencia
Cuando la transmisión de datos (paso 6) sea una lectura de memoria, el controlador de DMA realizará las siguientes operaciones:
Poner en el bus de direcciones la dirección del primer byte a leer de memoria
Activar MEMR (Memory Read) para obtener el byte de datos de memoria y ponerlo en el bus de datos
Activar IOW (Input/Output Write) para escribir en el periférico el dato presente en el bus
Decrementar el contador de bytes leídos
Incrementar el puntero a la posición que debe leerse
Repetir el proceso hasta que todos los datos se hayan leído

Monografias.com

82
Intel 8237A – Ejemplo de transferencia
Cuando la transmisión de datos (paso 6) sea una escritura en memoria, el controlador de DMA realizará las siguientes operaciónes:
Poner en el bus de direcciones la dirección de la primera posición de memoria a escribir
Activar IOR (Input/Output Read) para obtener un byte de datos del periférico y ponerlo en el bus de datos
Activar MEMW (Memory Write) para escribir en memoria el dato presente en el bus
Decrementar el contador de bytes escritos
Incrementar el puntero a la posición en que se debe escribir
Repetir el proceso hasta que todos los datos se hayan escrito

Monografias.com

83
Intel 8237A – Canales de DMA
El 8237A tiene cuatro canales (0, 1, 2 y 3)
Cada canal se puede programar independientemente
Cualquiera canal puede estar activo en un momento dado, incluso varios (o todos) de forma simultánea

El 8237A dispone de ocho registros de datos que utiliza para indicar la posición y el tamaño de la zona de memoria afectada por una transferencia
Un registro de dirección de memoria por cada canal
Un registro contador por cada canal

Monografias.com

84
Intel 8237A – Canales de DMA
El 8237A dispone de cinco registros de control que se utilizan para programar y controlar la operación DMA de cada uno de los cuatro canales
Orden (command)
Estado (status)
Modo (mode)
Máscara simple (single mask)
Máscara completa (all mask)

Monografias.com

85
Intel 8237A – Registros de Control

Monografias.com

86
Intel 8237A – Registros de Control
Orden (command): el procesador carga este registro para controlar la operación de DMA
D0 habilita una transferencia Memoria ?? Memoria que usa el canal 0 para leer un byte en un registro temporal y el canal 1 para transferirlo de nuevo a memoria
D1 permite deshabilitar el incremento/decremento en el canal 0 para forzar la transmisión de un valor fijo
D2 habilita/deshabilita las operaciones de DMA
D3 reduce el periodo de bus
D4 elige entre prioridad fija y prioridad máxima rotatoria
D5 define el comportamiento de la señal MEMW
D6 y D7 define cuando DREQ y DACK están activas (0 ó 1)

Monografias.com

87
Intel 8237A – Registros de Control
Estado (status): el procesador lee este registro para determinar el estado del controlador de DMA
D0 – D3: indican si los canales 0 – 3 han alcanzado el valor final de la cuenta
D4 – D7: indican si hay una petición de DMA pendiente en los canales 0 – 3

Monografias.com

88
Intel 8237A – Registros de Control
Modo (mode): el procesador carga este registro para establecer el modo de operación de un canal
D0,D1: selecciona el canal
D2 – D7: establece el modo de operación del canal elegido
D2,D3: indican si la transferencia es E/S ? Memoria (escritura) o Memoria ? E/S (lectura)
D4: vuelve a cargar el registro de dirección de memoria y el registro contador a los valores iniciales una vez que termina la transferencia
D5: indica si durante la transferencia hay que incrementar o decrementar las direcciones
D6,D7: determina el modo de utilización del 8237A
Simple: se transfiere un único bit de datos
Bloque/Demanda: transfiere bloques (demanda = finalización prematura)
Modo cascada: permite encadenar varios para tener más de cuatro canales

Monografias.com

89
Intel 8237A – Registros de Control
Máscara simple (single mask): el procesador modifica este registro para deshabilitar un canal determinado enmascarando la entrada DREQ
D0,D1: selecciona el canal
D2: activa o desactiva el bit de máscara correspondiente al canal seleccionado

Máscara completa (all mask): es similar al anterior pero permite habilitar/deshabilitar todos los canales en una sola operación

Monografias.com

90
Estructura del tema
Introducción
La entrada/salida en el procesador
Definición de periférico e interfaz
Controladores de entrada/salida
Funciones de un controlador
Estructura de un controlador
Técnicas para las operaciones de entrada/salida
Entrada/salida programada
Entrada/salida mediante interrupciones
Acceso directo a memoria
Evolución de la entrada/salida

Monografias.com

91
Evolución de la Entrada/Salida
A medida que los computadores evolucionaban, la entrada/salida ha evolucionado con ellos
El procesador controlaba directamente los periféricos
Aparece el controlador de E/S y el procesador se independiza de los detalles específicos de la de la interfaz de los periféricos; las operaciones se gestionan por medio de E/S programada
Surge el concepto de interrupción; el procesador ya no tiene que esperar por las operaciones de E/S, aumentando su eficiencia
Aparece el DMA; el procesador ya sólo necesita involucrarse al comienzo y al final de las operaciones

Monografias.com

92
Evolución de la Entrada/Salida
A medida que los computadores evolucionaban, la entrada/salida ha evolucionado con ellos
Canales de E/S: los controladores mejoran tanto que se comportan como pequeños procesadores con su propio repertorio de instrucciones especializado
El procesador especifica al canal una secuencia de actividades, indicándole que ejecute su propio programa desde memoria, y se desentiende hasta que la secuencia termine y reciba una interrupción
Procesadores de E/S: el canal de E/S tiene memoria propia puede controlar un conjunto grande de dispositivos de E/S con una intervención mínima por parte del procesador

Monografias.com

93
Canales de Entrada/Salida
En general, esta evolución se caracteriza por que cada vez más funciones se realizan sin intervención del procesador, mejorando con ello su rendimiento
Los canales y procesadores de E/S son un cambio importante en el concepto de controlador de E/S
Amplían el concepto de DMA con la capacidad de ejecutar programas de E/S
La capacidad de ejecutar instrucciones de E/S les proporciona completo control sobre las operaciones de E/S
Tanto el término canal como el término procesador se pueden utilizar indistintamente, pero usaremos “canal de E/S” para generalizar y evitar confusiones

Monografias.com

94
Canales de Entrada/Salida
El procesador no ejecuta instrucciones de E/S
Se almacenan en memoria como programas independientes
Al principio de una transferencia, el procesador indica al canal de E/S qué programa debe ejecutar
El programa de entrada salida determina
Dispositivo/s a utilizar
Área/s de memoria
Prioridades
Acciones a realizar en caso de error

El canal de E/S sigue estas instrucciones y controla la transferencia

Monografias.com

95
Canales de Entrada/Salida
En general, se pueden distinguir dos tipos de canales de E/S: selectores y multiplexores
Un canal selector se usa en lugar del procesador para gestionar los controladores
Controla varios dispositivos de velocidad elevada
Cada dispositivo (o grupo de ellos) es gestionado por un controlador
En un momento dado, el canal de E/S selecciona un dispositivo y efectúa una transferencia

Monografias.com

96
Canales de Entrada/Salida
En general, se pueden distinguir dos tipos de canales de E/S: selectores y multiplexores
Un canal multiplexor puede gestionar la E/S de varios dispositivos al mismo tiempo
Los datos enviados por varios dispositivos son entrelazados y transmitidos tan rápidamente como sea posible
Dispositivos de velocidad reducida: entrelazado a nivel de bytes
Dispositivos de velocidad elevada: entrelazado a nivel de bloques

Monografias.com

97
Bibliografía
[PATTERSON]
Estructura y diseño de computadores
interficie circuitería/programación
David A. Patterson y John L. Hennessy
Editorial Reverté, 2000

[STALLINGS]
Organización y arquitectura de computadores
William Stallings
Pearson Education – Prentice Hall, 2005 (7ª edición)

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter